import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get_storage/get_storage.dart';
import 'package:hixing_app/const/app_utils.dart';

import 'main_init.dart';


Future<void> initApp() async {
  WidgetsFlutterBinding.ensureInitialized();


  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  // 设置底部控制栏的颜色
  SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
    systemNavigationBarColor: Colors.transparent,
  ));
  // 初始化主题控制器,有可能缓存设置过主题，所以提前初始化, 从缓存里面获取，
  // Get.put(ThemeCtrl(), permanent: true);
  // 初始化 shared preference
  await AppUtil.getPackageInfo();
  if (Platform.isAndroid) {
    // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后，是为了在渲染后进行set赋值，覆盖状态栏，
    // 写在渲染之前       MaterialApp组件会覆盖掉这个值。
    SystemUiOverlayStyle systemUiOverlayStyle =
    const SystemUiOverlayStyle(statusBarColor: Colors.transparent);
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }

  /// 进行dio全局的初始化
  Future.delayed(const Duration(milliseconds: 200), () {
    // GetStorage 初始化为null，所以需要挂起异步等一会
    runApp(const MyApp());
  });
}
